package org.example.design.build02;

import org.example.design.build01.celling.LevelOneCeiling;
import org.example.design.build01.celling.LevelTwoCeiling;
import org.example.design.build01.coat.DuluxCoat;
import org.example.design.build01.coat.LiBangCoat;
import org.example.design.build01.floor.ShengXiangFloor;
import org.example.design.build01.title.DongPengTitle;
import org.example.design.build01.title.MarcoPoloTitle;
import org.example.design.build02.itl.IMenu;
import org.example.design.build02.itl.impl.DecorationPackageMenu;

/**
 * @Classname Builder
 * @Description 建造者模式
 * @Date 2020/11/2 2:33 下午
 * @Created by xiangjd
 */
public class Builder {

    public IMenu getLevelOne(Double area) {
        return new DecorationPackageMenu(area, "豪华欧式")
                .appendCelling(new LevelOneCeiling())
                .appendCoat(new DuluxCoat())
                .appendFloor(new ShengXiangFloor());
    }

    public IMenu getLevelTwo(Double area) {
        return new DecorationPackageMenu(area, "轻奢田园")
                .appendCelling(new LevelOneCeiling())
                .appendCoat(new LiBangCoat())
                .appendTitle(new MarcoPoloTitle());
    }

    public IMenu getLevelThree(Double area) {
        return new DecorationPackageMenu(area, "现代简约")
                .appendCelling(new LevelTwoCeiling())
                .appendCoat(new LiBangCoat())
                .appendTitle(new DongPengTitle());
    }

}
